約 1,205,627 件
https://w.atwiki.jp/ownersdatabase/pages/16.html
個人情報 ふりがな:よこやま ゆういち 生年月日:xxxx年x月x日 出身地:東京都 最終学歴:〇×大学△▽学部 卒 没年月日:xxxx年X月X日(70歳没) 本業:株式会社〇〇代表取締役社長←会社のHPがある場合、内部リンクを挿入。HPがない場合は括弧で業種を補足。 家族:横山瑠星(長男、馬主) ←いれば書く、いなければ除去 馬主情報 JRA馬主資格取得年:1995年 冠名:インディゴ ←現在(もしくは死去、撤退時)まで主として使用していたもののみ記載。 冠名の由来:好きな色より 服色:青、黄十字襷、袖黄二本輪 ←原則として現在の服色のみを記載。ただし解説にて過去の柄についTて触れる場合もある。 配色由来:決めていくうちに、自然とそうなった 重賞競走勝利数:5勝 ←JRA重賞およびダートグレードのみカウント。 初重賞競走制覇:20××年 〇〇大賞典 GⅠ級競走勝利数:1勝 ←GⅠ勝ちがない場合は「未勝利」 初GⅠ級競走制覇:20××年 〇〇記念 ←上が「未勝利」のとき、現役の馬主であれば空欄、故人もしくは撤退濃厚であれば除去。 法人名義:♦♦ホールディングス株式会社 ←あれば書く、なければ除去 組合名義:★★組合 ←あれば書く、なければ除去 牧場:ナントカファーム ←あれば書く、なければ除去 その他:××馬主協会第3代会長 ←あれば書く、なければ除去 解説 オーナーに関する補足等を記述。 登場文献・ウェブ記事 馬主業について語っている記事のリンクや文献名を記載。なければ除去だが最低1つくらいは欲しいところ。レース直後(当日)のインタビュー等は含まないが、本業等の言及がある記事が他にない場合は記載することがある。 ホームページ・SNS なければ除去。
https://w.atwiki.jp/chapati4it/pages/110.html
Java/swing/サンプル/BasicPlayerサンプル(mp3, 音量調整) サンプルダウンロード BasicPlayerSampleVol.java BasicPlayerでの音量調整 BasicPlayerでの音量調整はとても簡単で、BasicPlayerに対してsetGainを呼び出すだけで完了します。 player.setGain((double)volSlider.getValue() / 100); setGainには0から1.0までのdouble値を渡します。 上記のコードは、0から100の値を取るスライダーの値を100で割ってsetGainに渡しています。 再生開始時の音量調整 BasicPlayerの音量は、新しいファイルを再生するたびにリセットされるので、その都度setGainするとよいでしょう。 // 再生 private void play() throws BasicPlayerException { player.play(); player.setGain((double) volSlider.getValue() / 100); } スライダ操作による音量調整 音量調整のUIにはJSliderを使うのが一般的だと思います。JSliderにChangeListenerを追加して、スライダ操作のイベントを受け取り、音量調整とラベルの更新も行います。 // 音量調整スライダー volSlider = new JSlider(0, 100, 100); // ChangeListener設置 volSlider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { try { // スライダが操作されたらsetGainで音量を設定します。 player.setGain((double) volSlider.getValue() / 100); // ラベルも更新します volLabel.setText("" + volSlider.getValue()); } catch (BasicPlayerException e1) { e1.printStackTrace(); } } }); // 音量調整スライダー設置 add(volSlider); コメント 名前
https://w.atwiki.jp/nightmareheavenf/pages/19.html
■ キャラクターデータ ■ キャラクターネーム:戦士ビルド(大剣) 性別:男 年齢:00 身長:--- BWH:---/--/--- PL:てすてす ■ 能力値 ■ 名称 Lv STR CON TEC LUC INT WIL メインクラス 2 09 08 05 04 04 05 サブクラス 0 04 03 02 02 02 02 職歴クラス -- -- -- -- -- -- 自由割り振り -- 01 01 -- -- -- 合計 13 12 08 06 06 07 ゲインステータス +1 +0 +0 +0 +0 +0 能力B 2 04 03 02 01 01 01 ■ スキル ■ (習得パターン:B) 名称 SL タイミング 分類 部位 射程 対象 代償 武器種 効果 コンバットセンス ★ 常時 白兵射撃 - なし 自身 なし STR武器 ピュアクラスのウォリアーの場合、関連能力値が【STR】の武器の攻撃力に+2を得る ウェポンマスタリー:大剣 2/5 常時 汎用 - なし 自身 なし 特殊 選んだ武器の攻撃力および受け値と盾・大盾の受け値を(SL×2)上昇する マイトレインフォース 1/1 補助行動 白兵 腕 なし 自身 武器:3 白兵武器 直後の白兵攻撃のダメージに片手武器ならば+4、両手武器ならば+6を加える。 レイジングレイド 1/3 補助行動 白兵 心 なし 自身 VP:5 両手白兵武器 直後の白兵攻撃のダメージに、自身の((最大HP-現在HP)÷(5-SL))を加える。使用後は即座に戦闘不能状態となる。なお、このスキルはメインクラスがウォリアーの者専用。 ヘビィソードクラッシュ 1/1 主行動 白兵 腕 隣接 単体 武器:4 大剣 白兵攻撃を行う。この際、ダメージを+(MSL×2)する。 ゲイン・ストレングス 1/3 常時 汎用 - なし 自身 なし 不問 【STR】Bが+(SL)扱いになる 性別スキル1個 1/3 常時 汎用 - なし 自身 なし 不問 テキトーに ■ 魔法 ■ 名称 射程 対象 代償 効果 ■ 武器 ■ 名称 重量 武器種 持手 STR TEC 受け 魔力 耐久 価格 特記事項 クレイモア 4 大剣 両手 3d+2 3d 5 - 40 220 まっすぐで幅広の刃を持つ、身の丈ほどもある大剣 ■ 防具 ■ 名称 重量 男女双娘 物理防御 魔法防御 耐久 価格 特記事項 ヘビィプレートメイル 4 ○××× 10 8 20 700 全身を守る本格的な金属鎧 ■ 戦闘能力 ■ HP 34 VP 10 IV 6 STRを用いて攻撃する。 武器攻撃力+関連能力STR+マスタリー+コンバットセンス 3d+2+4+4+2=3d+12 +ヘビィソードクラッシュ&マイトレインフォース(武器消費:7点) +4+6=3d+22 防御/魔法防御+受け能力+関連能力STR=10+9/8+9=19/17 ■ アイテム ■ (所持金:80G) アイテム名称 タイミング 価格 解説 ■ 諸設定等 ■ テスト用サンプルキャラクターです!
https://w.atwiki.jp/atobarai/pages/21.html
ご利用明細サンプル ○月分ご利明細 ご利用金額 6000円 未確定 2023/○/○ A社 1000円 ご利用履歴 2023/○/○ B社 2000円 2023/○/○ C社 3000円 2023/○/○ 3回あと払いへ変更C社 -3000円 2023/○/○ 3回あと払い支払額(1/3回) 1000円 払い戻し 2023/○/○ キャンセル(B社) -2000円 請求明細サンプル ○年○月分のご請求 ご請求金額 2000円 ご利用明細 2023/○/○ キャンセル(B社) -2000円 2023/○/○ A社 1000円 2023/○/○ B社 2000円 2023/○/○ C社 3000円 2023/○/○ 3回あと払いへ変更C社 -3000円 2023/○/○ 3回あと払い支払額(1/3回) 1000円
https://w.atwiki.jp/chapati4it/pages/129.html
Swingでカレンダー型日付選択ダイアログのサンプルを作ってみました。 カレンダーパネルを使ったサンプル カレンダーダイアログのサンプル サンプルはMyJCalendar.javaのmainメソッドに同梱されていまする Swingでカレンダーを表示するサンプルを簡単に作ろうと思ってたのに、気がついたらコメント空行込みで600行のご立派な物になってしまいました。 作ってる途中でJCalendarで検索したら、先に作って公開してる人がいましたorz(でも公開します 使い方 日付選択ダイアログを表示 Date date = MyJCalendar.showCalenderDialog(frame, button, "日付選択", date); 日付を選択されない場合、dateはnullになります。 カレンダーパネルを取得 MyJCalendar p = new MyJCalendar(); Date型のパラメータを渡すと、その日が選択されたパネルが取得出来ます MyJCalendar p = new MyJCalendar(new Date()); 日付をクリックされた時に、値を設定するコンポーネントを設定 p.addClickDateListenerObject(datetf2); コンポーネントに「setText(String)」があれば、そこにyyyy/MM/ddに変換した文字列を設定します。 フレームにカレンダーパネルを追加 frame.add(p); JPanelを継承して作られているので、普通にコンポーネントとして追加出来ます。 カレンダーパネルからクリックされた日付を取得 Date date = p.getClickDate(); できること 日付指定での起動、前月、次月ボタン、プルダウンによる年月選択、日曜日赤色表示 日付選択ダイアログの表示 クリックされた日付の返却 日付選択パネルの作成 クリックされた日付はgetClickDateで取り出すか、setTextを持つコンポーネントをaddClickDateListenerObjectで追加 できないこと 日付選択によるイベント発行 イベントの作り方を勉強して機能を追加したい 祝日の赤表示 サンプルダウンロード MyJCalendar.java コメント 名前
https://w.atwiki.jp/gpdwin/pages/45.html
基本事項 JoyToKeyはシェアウェアですが、送金しなくても使えます(たまに催促ダイアログは出る)。 DirectInputは不安定なのでXInput推奨。 GPDWIN Button 左スティック Stick1 右スティック Stick2 L1 5 R1 6 L2 11 R2 12 十字キー POV A 1 B 2 X 3 Y 4 L3 9 R3 10 Select 7 Start 8 XBOX 13 (※) FAQ&tips XBOXボタンをボタン13として使う方法 適当にゲームを起動し、[Windows]+[G]でゲームバーを開く。 右端の設定を開く 「コントローラーのXBOXでゲームバーを開いてください」のチェックを外す ログオン時に自動起動させる方法 タスクスケジューラを開く(スタートメニュー → Windows管理ツール → タスクスケジューラ) 右側にある「基本タスクの作成」からウィザードを開始 名前は適当に トリガー「ログオン時」 操作は「プログラムの開始」 プログラム/スクリプトで参照から JoyToKey.exe のファイルを選択 [完了]をクリックしたときにこのタスクの[プロパティ]ダイアログを開くをチェックして完了 全般「最上位の特権で実行する」をチェック 条件「AC電源で使用している場合のみ~」のチェックを外す 設定「タスクを停止するまでの時間」のチェックを外す設定「要求時に実行中のタスクが終了しない場合、タスクを強制的に停止する」のチェックを外す スリープ解除時に自動的に再起動させる方法 通常の指定方法 タスクスケジューラを開く トリガーを「イベント時」 ログ「システム」、ソース「Power-Troubleshooter」、イベントID「1」 後述のようなバッチファイルを実行指定 イベントビューアを利用して指定する方法 イベントビューア(スタートメニュー右クリック → イベントビューア)を開く Windowsログ - システムを開く 直近の「Power-Troubleshooter」を見つけるもしくは「現在のログをフィルタ」を開きイベントソース「Power-Troubleshooter」をチェックして抽出 右クリックメニューから「タスクをこのイベントに添付」から行う 後述のようなバッチファイルを実行指定 バッチファイル例 restart_joytokey.bat @echo off taskkill /im JoyToKey.exe /f 1 nul 2 nul start "" "C \JoyToKey\JoyToKey.exe" 場所は自分で直してください。vbsスクリプトとかでも出来そう。 restart_j2k.vbs Set oShell = CreateObject("WScript.Shell") j2k = "C \JoyToKey\JoyToKey.exe" Set objLocator = WScript.CreateObject( "WbemScripting.SWbemLocator" ) Set objWMIService = objLocator.ConnectServer (, "root\cimv2") Set PrcSet = objWMIService.ExecQuery("Select * From Win32_Process") For Each Prc In PrcSet If Prc.Name = "JoyToKey.exe" Then rtnCode = Prc.Terminate() End If Next oShell.Run j2k , 7 , False ついでに時計合わせツールとかも指定してもいいかも。(その場合Windowsの時刻設定でインターネット時計は切る) restart_joytokey.bat @echo off C \tclock-kt\tcsntp.exe /silent taskkill /im JoyToKey.exe /f 1 nul 2 nul timeout 1 /nobreak nul start "" "C \JoyToKey\JoyToKey.exe" (tclock-kt付属のtcsntp.exeの例) ちなみにWindows標準のインターネット時計のコマンドは %windir%\system32\sc.exe start w32time task_started その他 Q.XBOXボタンを押すとSteamのBig Pictureモードが起動してしまう A.今のところ回避策がありません。Steamは終了しておくか、諦めて別のボタンを使いましょう。 Q.マウス操作が出来なくて設定しづらい A.設定するときは別途マウスを繋ぎましょう。遠隔操作アプリ(TeamViewer、Brynhildrなど)を使って別のPCから設定画面を操作するという手もあります。 Q.チルトホイールはどう設定すればいいの? A.チルトホイールには対応していません Ver.5.9以降で対応 Q.ダブルクリックはどう設定すればいいの? A.左クリックを2つ並べてもうまくいかない方が多いです。連射設定で3~4回/秒を設定、長押しで対処。 設定サンプル集 あくまでサンプルなのでお好みで設定しましょう。 【マウスモード+よく使う機能キー割り当て】 sample1fix.zip Stick1 上下をマウスホイールの-10, +10 Stick2 マウスの上下左右±10、アナログ入力加速x3 POV カーソルの上下左右、400ms後に連射12回/秒 11 左クリック 12 右クリック 1 Ctrl 2 Alt+` (IME ON) 3 Alt 4 Escape 【左右スティックを速度差のあるマウスとして使う&設定切り替え】 Optionsのボタン割り当ての変更からButton20をL2+XBOXに割り当て、設定切り替えボタンとして使う 置いたまま使う時はL1/L2/R1/R2が押しにくいので使い分ける j2ksample3.zip ボタン割り当て変更 20 Button11+Button13 Default設定 20 他の設定ファイルに切り替える-Mouse1 他 全てDisabled Mouse1設定(置いたまま使う用) Stick1 マウスの上下左右±20、アナログ入力加速x4 Stick2 マウスの上下左右±3、アナログ入力加速x6 POV カーソルの上下左右、400ms後に連射12回/秒 1 中クリック 2 右クリック 3 左クリック 4 漢字ON/OFF 5 Tab 6 Alt 7 PageUp 8 PageDown 9 Home 10 End 11 Mouse 左Click 12 Mouse 右Click 20 他の設定ファイルに切り替える-Mouse2 Mouse2設定(手に持って使う用) Stick1 マウスの上下左右±20、アナログ入力加速x4 Stick2 マウスの上下左右±3、アナログ入力加速x6 POV カーソルの上下左右、400ms後に連射12回/秒 1 Escape 2 Shift 3 Ctrl 4 漢字ON/OFF 5 Tab 6 Alt 7 PageUp 8 PageDown 9 Home 10 End 11 Mouse 左Click 12 Mouse 右Click 20 他の設定ファイルに切り替える-Default 【R1を押してる間だけ加速/減速するマウス】 Button6に「一時的にマウス移動量を調節(加速・減速)する」を設定すれば終わり ボタン割り当て変更で実現すると通常割り当てと両方機能する ボタン割り当て変更 Button21 Stick1 ← + Button6 Button22 Stick1 → + Button6 Button23 Stick1 ↑ + Button6 Button24 Stick1 ↓ + Button6 設定1(減速) Stick1 マウスの上下左右±15、アナログ入力加速x3 Stick2 ホイールの上下±10 POV カーソルの上下左右、400ms後に連射12回/秒 1 左クリック 2 右クリック 3 左クリック、連射4回/秒 4 中クリック 6 漢字ON/OFF 11 Mouse 左Click 12 Mouse 右Click 21 Mouse ←(5) 22 Mouse →(5) 23 Mouse ↑(5) 24 Mouse ↓(5) その他:JoyToKeyを使わないキーボード割り当て GPDWINのマウスモードでは十字キーにWSAD、ABXYにカーソルが割り当てられます。 これを利用してキーボードで遊ぶ設定&キー設定があればパッドで割り当てて遊べます。 NESエミュレータ等 Up W Down S Left A Right D Select ← Start ↑ B ↓ A →
https://w.atwiki.jp/kurumalight/pages/17.html
■ハロゲン55Wのサンプルセット 明るさ約1400lm。費用2万円。ランタイム約1時間。重さ約1kg。 電圧12V限定なのがコストアップの要因。防眩対策のない配光も不評なので素直にHIDにしたほうが吉かも? 照射画像 http //img.wazamono.jp/bicycle/src/1223169050054.jpg 部品の内訳 3000円 ミラリードGT-6001フォグ(ホムセンで入手容易/ただしカットラインなし) http //www.mirareed.co.jp/cgi-bin/list/kr_list.cgi?act=popup id=GT-6001 8000円 電池パック(RC用ニッスイ10セル12V4200mA) http //batteryspace.jp/shopdetail/006003000001/ 6000円 RC用AC100V急速充電器(イーグル模型D1チャージャー/1~12セル対応) http //www.super-rc.co.jp/cp-bin/oscommerce/catalog/product_info.php?cPath=32 products_id=14966 1000円 ボトルケージホルダー箕浦QB-90。 http //www.cb-asahi.co.jp/image/kokunai/minoura/qb90.html 2000円 送料その他資材(田宮コネクター/電源スイッチ/ベルクロ等) 標準のハロゲン55W球を35W球(900lm)に交換すればランタイム約1.5時間。 ハイワッテージバルブに交換すれば若干の明るさアップが可能。
https://w.atwiki.jp/kurumalight/pages/19.html
■ハロゲン55Wのサンプルセット 明るさ約1400lm。費用2万円。ランタイム約1時間。重さ約1kg。 電圧12V限定なのがコストアップの要因。防眩対策のない配光も不評なので素直にHIDにしたほうが吉かも? 照射画像 http //img.wazamono.jp/bicycle/src/1223169050054.jpg 部品の内訳 3000円 ミラリードGT-6001フォグ(ホムセンで入手容易/ただしカットラインなし) http //www.mirareed.co.jp/cgi-bin/list/kr_list.cgi?act=popup id=GT-6001 8000円 電池パック(RC用ニッスイ10セル12V4200mA) http //batteryspace.jp/shopdetail/006003000001/ 6000円 RC用AC100V急速充電器(イーグル模型D1チャージャー/1~12セル対応) http //www.super-rc.co.jp/cp-bin/oscommerce/catalog/product_info.php?cPath=32 products_id=14966 1000円 ボトルケージホルダー箕浦QB-90。 http //www.cb-asahi.co.jp/image/kokunai/minoura/qb90.html 2000円 送料その他資材(田宮コネクター/電源スイッチ/ベルクロ等) 標準のハロゲン55W球を35W球(900lm)に交換すればランタイム約1.5時間。 ハイワッテージバルブに交換すれば若干の明るさアップが可能。
https://w.atwiki.jp/flex_framework/pages/23.html
さて、ここではCairngormのもっとも重要な部分である Controller層について解説していきます。 Cairngormでは 「ScriptタグはMXMLの中にはできるだけ書かないようにしよう」 という考え方のもとに作られているのですが、 もうひとつの特徴が 「発生するイベントを一元管理しよう」 というものがあげられます。 このイベントの一元管理を実現しているのが Controller層なのです。 Controller層は大きく分けて3つになります。 1)SamplecairngormControllerというクラス 2)Commandパッケージ 3)Eventパッケージ 1) SamplecairngormControllerというクラスはイベントを一元管理するためのクラスです。 サンプルのソースを解説していきましょう。 package sample.controller.samplecairngorm { import com.adobe.cairngorm.control.FrontController; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import sample.controller.samplecairngorm.command.*; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② /** * イベントマッピングを行うコントローラークラスです。 * このクラスでイベントを一元管理しています。 */ public class SamplecairngormController extends FrontController ・・・・・・・・・・・・・・・・③ { /** イベントを一意に識別するためのイベント名称をここで設定します */ public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT String = "clickBtnHelloWorldEvent"; ・・・④ /** * コンストラクタです。 */ public function SamplecairngormController() void { super(); // addCommandメソッドで一意に指定したイベント識別名とCommandクラスとのマッピングを行います。 // これによりこの識別イベント名のイベントが発生するとCommandクラスが呼び出されるようになります。 addCommand(SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT,ClickBtnHelloWorldCommand); ・・・・・⑤ } } } ①import com.adobe.cairngorm.control.FrontController Cairngormでイベントを一元管理するために必要なFrontControllerクラスをインポートしています。 後で記述していますが、このFrontControllerクラスを継承することで、 イベントを一元管理してくれる役割をもったクラスになるわけです。 ②Commandパッケージのインポート Commandパッケージに所属するCommandクラスをインポートしています。 2)のパッケージですね。 Commandというのはイベントと1対1になるもので、 イベントが発生した際に、実行されるロジックが実装されたクラスを指しています。 クラスの内容は2)で解説します。 ③FrontControllerを継承したクラスの宣言 ①で出てきたFrontControllerクラスを継承したクラスの宣言です。 既に記したようにイベントを一元管理するために必要なクラスを継承しているという宣言です。 ④public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENTの宣言 Eventクラスを作成したときに使う「イベント名」をここで設定しています。 この「イベント名」がMXMLより送出されれる「イベント名」になります。 ですので、ここで宣言したイベント名がFrontControllerの中で管理されるようになります。 ⑤addCommand()メソッド ④で宣言したイベント名とCommandパッケージの中のCommandクラスの名前を引数として 実行されるメソッドです。 このaddCommandメソッドこそがCairngormでイベントと実行ロジック実装クラスとをマッピングするメソッドなのです。 このメソッドでイベントとCommandクラス名を設定しなければ、 イベントが起こってもイベントに対応した実行ロジックを呼び出すことができません。 このメソッドはCairngormの中でもっとも重要なメソッドのひとつでしょう。 2) Commandパッケージは前述にある実行ロジックの実装クラスのパッケージです。 ここでは実際にサンプルアプリケーションのCommandクラスを見てみましょう。 package sample.controller.samplecairngorm.command { import com.adobe.cairngorm.commands.ICommand; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import com.adobe.cairngorm.control.CairngormEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② import mx.rpc.IResponder; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・③ import sample.controller.samplecairngorm.event.ClickBtnHelloWorldEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・④ import sample.datamodel.ApplicationDataModel; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑤ import sample.service.samplecairngorm.SamplecairngormHttpDelegate; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑥ /** * イベントを実際に実行するコマンドクラスです */ public class ClickBtnHelloWorldCommand implements ICommand,IResponder ・・・・・・・・・・・・・・・・・・・・・・・・・⑦ { /** * イベント発生後、最初に実行されるメソッドです。 * @param event CairngormEvent */ public function execute(event CairngormEvent) void ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑧ { // イベントはCairngormイベントの形でわたってきますので、 // それを専用のイベントにキャストします。 var e ClickBtnHelloWorldEvent = event as ClickBtnHelloWorldEvent; ・・・・・・・・・・・・・・・・・・・・・・・⑨ // Delegateクラスをインスタンス化する際に自分のインスタンスを渡します。 // これは「IResponder」インターフェースを実装したクラスが自分だからです。 var httpDelegate SamplecairngormHttpDelegate = new SamplecairngormHttpDelegate(this); ・・・⑩ // Delegateをインスタンス化する際に自分のインスタンスを渡していますが、 // このことにより、下記、メソッドが実行され、HTTPServiceあるいはRemoteObjectでの // サーバー連携の結果が自分のインスタンスの「result」あるいは「fault」メソッドに // 帰ってくるようになります。 httpDelegate.clickBtnHelloWorld(new Object()); ・・・・・・・・・・・・・・・・・・・・・・・・⑪ } /** * Resultイベントハンドラです。 * @param data オブジェクト */ public function result(data Object) void ・・・・・・・・・・・・・・・・・・・・・・・・⑫ { var model ApplicationDataModel = ApplicationDataModel.getInstance(); ・・・・・・・・・・・・・・⑬ model.sampleModel.txtField = data.result.docs.doc.say; ・・・・・・・・・・・・・⑭ } /** * Faultイベントハンドラです。 * @param info オブジェクト */ public function fault(info Object) void ・・・・・・・・・・・・・・・・・・・・・・⑮ { } } } ①ICommandインターフェースのインポート ICommandインターフェースはFrontControllerクラスを継承したクラス(サンプルではSamplecairngormController)で、 addCommandメソッドを実行する際に第2引数として渡していたCommandクラス名を 確定させるためのインターフェースです。 つまり、このICommandインターフェースを実装しないと、 FrontControllerを継承したクラスの中でaddCommandメソッドを呼び出した際に、認識してくれないのです。 ですので、Commandクラスを作成する際には必ずimplementsしましょう。 ②CairngormEventクラスのインポート このCommandクラスが受け取るEventをインポートしています。 CairngormでのイベントはすべてこのCairngormEventクラスを継承して作られています。 このあたりについては3)にて解説しますが、 executeメソッドの第1引数として渡されるクラスがこのCairngormEventなのです。 ③IResponderインターフェースのインポート IResponderインターフェースはHTTPServiceでのサーバサイドの呼び出し、 あるいはRemoteObjectのメソッドを使ってのサーバサイドの呼び出しの際に、 成功(result)か失敗(fault)かをハンドルするためのインターフェースです。 これもまたCommandと同様にimplementsしないと、後に出てくるDelegateのメソッドを実行した際に、 成功したか失敗したかの結果が返ってこなくなってしまいます。 ですので、Commandクラスを作成する際には必ずimplementsしましょう。 ④ClickBtnHelloWorldEventクラスのインポート executeメソッドで実際にイベントを受け取った際に、 このCommand専用のイベントにキャストするためにインポートしているクラスです。 ecxecuteメソッドが呼び出されたときに引数としてCairngormEventをもっているのですが、 多くの場合、呼び出されたCommand特有のイベントへとキャストして使います。 今回の場合は var e ClickBtnHelloWorldEvent = event as ClickBtnHelloWorldEvent としてCairngormEventからClickBtnHelloWorldEventへとキャストをしています。 ⑤ApplicationDataModelクラスのインポート ApplicationDataModelはデータバインディングのデータの入れ物、器です。 詳しいことはDataModel層の解説で述べますが、 データの入れ物ということなので、MXMLでデータを表示する際に使うためインポートしています。 ⑥SamplecairngormHttpDelegateクラスのインポート DelegateクラスはHTTPServiceあるいはRemoteObjectと直接連携するために 設けられたクラスです。 これはService層で解説しますが、このサンプルではHTTPServicecと連携したいために、 その連携方法をもつDelegateであるSamplecairngormHttpDelegateをインポートしています。 ⑦public class ClickBtnHelloWorldCommand implements ICommand,IResponder 前述のICommand、IResponderを実装したクラスの宣言です。 ⑧executeメソッド イベントが送出された際に呼び出される実行メソッドです。 FrontControllerを継承したクラスの中でaddCommandメソッドを用いて、 イベントとCommandクラスをマッピングしていますが、 このイベントが起こった際に呼び出されるメソッドがこのメソッドです。 またイベントが起こった際にはCairngormEventが渡されてきます。 多くの場合、自分のCommandクラスに関連付けされたEventへキャストして利用します。 これは④で、既に述べられています。 ⑨ClickBtnHelloWorldEventクラスへのキャスト ④、⑧の解説ですべてです。 ⑩HTTPServiceあるいはRemoteObjectとの橋渡し役をするDelegateクラスのインスタンス化 Delegateクラスの役割は⑥の解説とService層の解説に記述されていますが、 ここでのポイントはDelegateクラスをインスタンス化するときに、 new SamplecairngormHttpDelegate(this) と、自分のインスタンスを渡しているところです。 この自分のインスタンスを渡すことで、自分の持っているメソッドであるresult、faultに HTTPServiceやRemoteObjectメソッドの実行結果が返ってくるようになります。 これはIResponderインターフェースを実装しているからです。 ⑪Delegateのメソッドの呼び出し HTTPServiceやRemoteObjectを利用しての呼び出しはすべてDelegateクラスを 用いて行うこと、というのがCairngormのひとつのルールです。 このサンプルでもそのルールに従って呼び出しています。 ⑫resultメソッド ⑬ApplicationDataModelのインスタンスの取得 ⑭結果をDataModelへ設定 ⑩にて解説されていますが、Delegateクラスのメソッドを実行したときに、 その実行が成功した場合に実行されるメソッドです。 サーバサイドと連携した場合、このメソッドにデータベースの検索結果等が 返ってきますので、それを用いてロジックを実装していくところです。 多くの場合、データベースの検索結果などは ApplicationDataModelのインスタンスを取得して、 そのDataModelのプロパティに該当する結果を設定する、といった形になります。 ⑮faultメソッド ⑩にて解説されていますが、Delegateクラスのメソッドを実行したときに、 その実行が失敗した場合に実行されるメソッドです。 HTTP接続エラーなどのエラーハンドリングは、このメソッドで記述していくことが多いのではないでしょうか。 3) EventパッケージはFrontControllerクラスを継承したクラスを作る際に public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT のように静的領域に文字列を宣言していましたよね。 その文字列を使って作ったものがEventパッケージの中に入ります。 ここでは実際にサンプルアプリケーションのEventクラスを見てみましょう。 package sample.controller.samplecairngorm.event { import com.adobe.cairngorm.control.CairngormEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import sample.controller.samplecairngorm.* ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② /** * イベントクラスです */ public class ClickBtnHelloWorldEvent extends CairngormEvent ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・③ { /** * コンストラクタです */ public function ClickBtnHelloWorldEvent(o Object) void ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・④ { // コントローラーに設定した一意に識別するためのイベント名を // superクラスのコンストラクタに渡しています。 // これにより、このイベントはコントローラーに設定した一意の識別名をもつ // イベントとして認識されるようになります。 super(SamplecairngormController.SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT); ・・・・・・⑤ } } } ①import com.adobe.cairngorm.control.CairngormEvent Eventクラスを作る際には、Cairngormでは必ず、このCairngormEventクラスを継承します。 その継承のためにインポートをしています。 ② import sample.controller.samplecairngorm.* 後で記述が出てきますが、FrontControllerクラスを継承したクラスの中で 「public static const」と宣言した文字列があると思います。 その文字列を利用するため、Controllerクラスをインポートしています。 ③public class ClickBtnHelloWorldEvent extends CairngormEvent CairngormEventを継承してEventクラスを宣言しています。 ④ ClickBtnHelloWorldEventコンストラクタ ⑤super(SamplecairngormController.SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT) このコンストラクタの中で宣言されている親クラスのコンストラクタを呼び出すsuper()メソッドの中で、 ②にてインポートしたFrontControllerクラスを継承したクラスの 「public static const」で宣言した文字列を利用して親のコンストラクタを呼び出しています。 この親のコンストラクタに渡される文字列が、Cairngormの中で一元管理されるようになります。 以上、少し長くなりましたがController層の解説になります。 次はDataModel層です。
https://w.atwiki.jp/wmpskin_sm02/pages/8.html
SQLサンプル // 1.すべての音楽ファイルを取得しname列を表示。 select name from audio // 2.すべての動画ファイルを取得しname列,width列,height列を表示。 select name, width, height from video // 3.すべての音楽ファイルを取得し、組み込み列(name,length,album,playcount等)を表示。 select * from audio // 4.すべての音楽ファイルを取得しname列,length列を表示。レコードはnameで昇順ソート。 select name, length from audio order by name asc // 5.すべての音楽ファイルを取得しname列,length列を表示。レコードはnameで降順ソート。 select name, length from audio order by name desc // 6.すべての音楽ファイルを取得しalbum列,name列,length列を表示。レコードはalbumで昇順、nameで降順ソート。 select album, name, length from audio order by album asc, name desc // 7.すべての音楽ファイルを取得しname列,length列を表示。レコードはランダムにソート。 select name, length from audio order by shuffle // 8.filetypeが mp3 の音楽ファイルだけを取得し、name, filetype列を表示。 select name, filetype from audio where filetype = mp3 // 9.lengthが300秒以上の音楽ファイルだけを取得し、name, length列を表示。 select name, length from audio where length = 300 // 10.nameが あ で始まる音楽ファイルだけを取得し、name, length列を表示。 select name, length from audio where name like あ% // 11.releasedateに何らかのレコードが設定されている音楽ファイルだけを取得し、name, length, releasedate列を表示。 select name, length, releasedate from audio where releasedate isnot null // 12.lastplayeddateが 2013/01/01 13 00 01 以降の動画ファイルを取得し、name, lastplayeddate列を表示。 select name, lastplayeddate from video where lastplayeddate = 2013/01/01 13 00 01 // 13.nameが あ で始まり、かつlastplayeddateが 2013/01/01 13 00 01 以降の音楽ファイルだけを // 取得し、name, length列を表示。 select name, length from audio where name like あ% and lastplayeddate = 2013/01/01 13 00 01 // 14.playcountが10以上の音楽ファイルだけを取得し、playcount, name列を表示。レコードはplaycountで降順ソート。 select playcount, name from audio where playcount = 10 order by playcount desc // 15.playcountが5以上の音楽ファイルだけを取得し、name, playcount列を表示。レコードはplaycountで昇順、nameで降順ソート。 select playcount, name from audio where playcount = 5 order by playcount, name desc // 16.列に別名を付ける select name as タイトル, length as 時間 from audio // 17.すべての音楽ファイルを対象にlengthでソートし、先頭の10件取得しname列を表示。 select name from audio order by length option top 10 // 18.すべての音楽ファイルを対象にnameでソートし、2件目のレコードから5件取得しname列を表示。 select name from audio order by length option limit 1, 5 // 19.bから始まるタイトルの音楽ファイルを取得し、name列を表示。合計再生時間が1時間(3600秒)に収まるように先頭から絞り込む select name, length from audio where name like b% option totallength 3600 // 20.音楽ファイルを取得し、更にartist列のランダムな値をつかい、レコードを絞り込む。 select artist, title from audio option randomselectfrom artist // 21.toStar関数を使い、自分の評価が☆3の検索を実行する。 select name, length, rating from audio where rating = toStar(3) // 22.today系の関数を使い、最終再生日が5日前以降の検索する。 select name, lastplayeddate from audio where lastplayeddate = TodayFirst(-5) order by lastplayeddate // 23.CurrentValue関数を使い、現在再生中のメディアと同じ日以降にライブラリに追加したメディアを検索する。 select adddate, name from video where adddate = CurrentValue() order by adddate, name // 24.RandomValue関数を使い、genreからランダムな値を取得してメディアを検索する。 select name, album from audio where genre = RandomValue() // 25.convert関数を使い、length列の出力結果を加工する。※「結果タブ出力」の場合のみ変換実施。 select name, length, convert(length) from audio option top 100 // 26.expandを使い、「ユーザ定義の再生リスト1」からデータ取得 select name, length expand ユーザ定義の再生リスト1 // 27.expandを使い、「ユーザ定義の再生リスト1」「ユーザ定義の再生リスト2」からデータ取得 select name, length expand ユーザ定義の再生リスト1 , ユーザ定義の再生リスト2 // 28.expandを使い、現在再生中のプレイリストからデータ取得 select name, length expand current // 29.expandを使い、SQL検索画面のプレイリストビューに設定されたプレイリストからデータ取得 select name, length expand playlistview // 30.expandを使い、1番目のブックマークを含むプレイリストからデータ取得 select name expand bookmark1 // 31.expandを使い、スタックボードからデータ取得 select name, length expand stackboard